5 CLEAR 1200:CLS
10 PRINT "ALPHABETIZE"
20 PRINT
30 PRINT "(TO END PROGRAM ENTER 0)"
40 PRINT "NUMBER OF ITEMS";
50 INPUT N
59 REM - END PROGRAM?
60 IF N=0 THEN 330
69 REM - LIMIT ARRAY TO MAXIMUM NUMBER OF ITEMS TO BE ENTERED IN ONE RUN
70 DIM A$(25)
80 FOR I=1 TO N
90 PRINT "ITEM";I;
100 INPUT A$(I)
110 NEXT I
120 M=N
128 REM - THE SORT TECHNIQUE USED COMPARES DATA ITEMS IN DIMINISHING INCREMENTS.
129 REM - THE FIRST PASS COMPARES ITEMS N/2 ELEMENTS APART, THE SECOND (N/2)/2 ELEMENTS APART, AND SO ON UNTIL THE INCREMENT IS EXHAUSTED.
130 M=INT(M/2)
140 IF M=0 THEN 280
150 K=N-M
160 J=1
170 I=J
180 L=I+M
190 IF A$(I)<=A$(L) THEN 250
200 T$=A$(I)
210 A$(I)=A$(L)
220 A$(L)=T$
230 I=I-M
240 IF I>=1 THEN 180
250 J=J+1
260 IF J>K THEN 130
270 GOTO 170
280 FOR I=1 TO N
290 PRINT A$(I)
300 NEXT I
310 PRINT
320 GOTO 40
330 END
